#ifndef EXTENT_H_
#define EXTENT_H_


#include <string>
#include <stdlib.h>
#include <iostream>
#include "Lun.h"

using namespace std;

typedef unsigned long int LUNID;
#define LENGTH 7680;


//Holding the Information of the Extent
class Extent{
	Lun* my_lun;

public:
	__int64 my_offset;
	int place;		// in which device this extent is: 0-not places, 1-ssd, 2-fc, 3-sata

	Extent() {};
	Extent(__int64 offset) { my_offset = offset; place=0; };
	virtual ~Extent();

	//Operators
	bool operatorEqual (Extent &b) const;
	bool operator== (Extent &b) const;
	bool operator> (Extent &b) const;
	bool operator< (Extent &b) const;

	//Setters
	void setPlace(int p){place=p;};
	void setLun(Lun* l){ my_lun=l; };

	//Getters
	int getPlace(){return place;};
	Lun* getLun(){ return my_lun; };
};
#endif	/* EXTENT_H_ */
